package com.freight.base.service;

import com.freight.base.entity.Area;
import com.freight.base.vo.AreaListVo;
import com.freight.base.vo.AreaVo;
import com.freight.base.vo.CityListVo;
import com.freight.core.base.FreightBaseService;
import com.freight.core.common.vo.SearchVo;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.HashMap;
import java.util.HashSet;
import java.util.List;

/**
 * 区域维表接口
 * @author huyingtai
 */
public interface AreaService extends FreightBaseService<Area, Long> {

    List<AreaListVo> getByAreaList(String code);

    /**
    * 多条件分页获取
    * @param area
    * @param searchVo
    * @param pageable
    * @return
    */
    Page<Area> findByCondition(Area area, SearchVo searchVo, Pageable pageable);

    AreaVo getAreaVoLevel(String areaCode);

    List<AreaVo> getAreaVoLevel(List<String> areaCode);

    HashMap<String,AreaVo> getAreaVoLevelMap(List<String> areaCode);

    HashMap<String,AreaVo> getAreaVoLevelMap(HashSet<String> areaCode);


}